<?php

namespace catchAdmin\transport\model;

use catchAdmin\transport\model\search\TransportSearch;
use catcher\base\CatchModel;

/**
 *
 * @property int $id
 * @property string $job_number
 * @property string $carpooling_type
 * @property string $vehicle_type
 * @property string $delivery_type
 * @property date $carry_goods_date
 * @property date $delivery
 * @property string $departure_address
 * @property string $destination
 * @property string $remarks
 * @property datetime $departure_date
 * @property string $box_type_volume
 * @property string $transport_company
 * @property string $wagon_number
 * @property string $car_type
 * @property string $driver_telephone
 * @property string $IDCard
 * @property string $gate_address
 * @property string $unit_name
 * @property string $contacts
 * @property string $phone
 * @property string $waybill_status
 * @property date $status_date
 * @property string $transport_ask
 * @property string $clearance_address
 * @property string $take_order_address
 * @property string $waybill_remarks
 * @property int $tenant_id
 * @property int $creator_id
 * @property int $created_at
 * @property int $updated_at
 * @property int $deleted_at
 */
class Transport extends CatchModel
{
    use TransportSearch;
    public $field = [
        //
        'id',
        // 关联委托订单的工作号
        'job_number',
        // 拼车方式
        'carpooling_type',
        // 车型要求
        'vehicle_type',
        // 送货方式
        'delivery_type',
        // 提货时间
        'carry_goods_date',
        // 送货时间
        'delivery',
        // 起运地
        'departure_address',
        // 目的地
        'destination',
        // 运输备注
        'remarks',
        // 起运时间
        'departure_date',
        // 箱型箱量
        'box_type_volume',
        // 运输公司
        'transport_company',
        // 车号
        'wagon_number',
        // 车辆类型
        'car_type',
        // 司机电话
        'driver_telephone',
        // 身份证号
        'IDCard',
        // 门点地址
        'gate_address',
        // 单位名称
        'unit_name',
        // 联系人
        'contacts',
        // 电话
        'phone',
        // 运单状态
        'waybill_status',
        // 状态时间
        'status_date',
        // 运输要求
        'transport_ask',
        // 通关点地址
        'clearance_address',
        // 取单地址
        'take_order_address',
        // 运单备注
        'waybill_remarks',
        // 商户
        'tenant_id',
        // 创建人id
        'creator_id',
        // 创建时间
        'created_at',
        // 更新时间
        'updated_at',
        // 删除时间
        'deleted_at',
        'box_num',
        'container_code'
    ];
    
    public $name = 'db_transport';

    /**
     * 列表
     * @throws \think\db\exception\DbException
     * @return \think\Paginator
     */
    public function getList($tenant_id = 0)
    {
        $where = [];
        $where[] = ['deleted_at','=',0];
        if($tenant_id){
            $where[] = ['tenant_id','=',$tenant_id];
        }
        return $this->catchSearch()
            ->order('id','desc')
            ->where($where)
            ->withoutField('tenant_id,updated_at,deleted_at,created_at')
            ->paginate();
    }
}